/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package org.hl7.v3;


/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>IVLTS</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link org.hl7.v3.IVLTS#getLow <em>Low</em>}</li>
 *   <li>{@link org.hl7.v3.IVLTS#getWidth <em>Width</em>}</li>
 *   <li>{@link org.hl7.v3.IVLTS#getHigh <em>High</em>}</li>
 *   <li>{@link org.hl7.v3.IVLTS#getHigh1 <em>High1</em>}</li>
 *   <li>{@link org.hl7.v3.IVLTS#getWidth1 <em>Width1</em>}</li>
 *   <li>{@link org.hl7.v3.IVLTS#getHigh2 <em>High2</em>}</li>
 *   <li>{@link org.hl7.v3.IVLTS#getCenter <em>Center</em>}</li>
 *   <li>{@link org.hl7.v3.IVLTS#getWidth2 <em>Width2</em>}</li>
 * </ul>
 * </p>
 *
 * @see org.hl7.v3.V3Package#getIVLTS()
 * @model extendedMetaData="name='IVL_TS' kind='elementOnly'"
 * @generated
 */
public interface IVLTS extends SXCMTS {
	/**
	 * Returns the value of the '<em><b>Low</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * <!-- begin-model-doc -->
	 * 
	 *                            The low limit of the interval.
	 *                         
	 * <!-- end-model-doc -->
	 * @return the value of the '<em>Low</em>' containment reference.
	 * @see #setLow(IVXBTS)
	 * @see org.hl7.v3.V3Package#getIVLTS_Low()
	 * @model containment="true"
	 *        extendedMetaData="kind='element' name='low' namespace='##targetNamespace'"
	 * @generated
	 */
	IVXBTS getLow();

	/**
	 * Sets the value of the '{@link org.hl7.v3.IVLTS#getLow <em>Low</em>}' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Low</em>' containment reference.
	 * @see #getLow()
	 * @generated
	 */
	void setLow(IVXBTS value);

	/**
	 * Returns the value of the '<em><b>Width</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * <!-- begin-model-doc -->
	 * 
	 *                            The difference between high and low boundary. The
	 *                            purpose of distinguishing a width property is to
	 *                            handle all cases of incomplete information
	 *                            symmetrically. In any interval representation only
	 *                            two of the three properties high, low, and width need
	 *                            to be stated and the third can be derived.
	 *                         
	 * <!-- end-model-doc -->
	 * @return the value of the '<em>Width</em>' containment reference.
	 * @see #setWidth(PQ)
	 * @see org.hl7.v3.V3Package#getIVLTS_Width()
	 * @model containment="true"
	 *        extendedMetaData="kind='element' name='width' namespace='##targetNamespace'"
	 * @generated
	 */
	PQ getWidth();

	/**
	 * Sets the value of the '{@link org.hl7.v3.IVLTS#getWidth <em>Width</em>}' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Width</em>' containment reference.
	 * @see #getWidth()
	 * @generated
	 */
	void setWidth(PQ value);

	/**
	 * Returns the value of the '<em><b>High</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * <!-- begin-model-doc -->
	 * 
	 *                            The high limit of the interval.
	 *                         
	 * <!-- end-model-doc -->
	 * @return the value of the '<em>High</em>' containment reference.
	 * @see #setHigh(IVXBTS)
	 * @see org.hl7.v3.V3Package#getIVLTS_High()
	 * @model containment="true"
	 *        extendedMetaData="kind='element' name='high' namespace='##targetNamespace'"
	 * @generated
	 */
	IVXBTS getHigh();

	/**
	 * Sets the value of the '{@link org.hl7.v3.IVLTS#getHigh <em>High</em>}' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>High</em>' containment reference.
	 * @see #getHigh()
	 * @generated
	 */
	void setHigh(IVXBTS value);

	/**
	 * Returns the value of the '<em><b>High1</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>High1</em>' containment reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>High1</em>' containment reference.
	 * @see #setHigh1(IVXBTS)
	 * @see org.hl7.v3.V3Package#getIVLTS_High1()
	 * @model containment="true"
	 *        extendedMetaData="kind='element' name='high' namespace='##targetNamespace'"
	 * @generated
	 */
	IVXBTS getHigh1();

	/**
	 * Sets the value of the '{@link org.hl7.v3.IVLTS#getHigh1 <em>High1</em>}' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>High1</em>' containment reference.
	 * @see #getHigh1()
	 * @generated
	 */
	void setHigh1(IVXBTS value);

	/**
	 * Returns the value of the '<em><b>Width1</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * <!-- begin-model-doc -->
	 * 
	 *                            The difference between high and low boundary. The
	 *                            purpose of distinguishing a width property is to
	 *                            handle all cases of incomplete information
	 *                            symmetrically. In any interval representation only
	 *                            two of the three properties high, low, and width need
	 *                            to be stated and the third can be derived.
	 *                         
	 * <!-- end-model-doc -->
	 * @return the value of the '<em>Width1</em>' containment reference.
	 * @see #setWidth1(PQ)
	 * @see org.hl7.v3.V3Package#getIVLTS_Width1()
	 * @model containment="true"
	 *        extendedMetaData="kind='element' name='width' namespace='##targetNamespace'"
	 * @generated
	 */
	PQ getWidth1();

	/**
	 * Sets the value of the '{@link org.hl7.v3.IVLTS#getWidth1 <em>Width1</em>}' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Width1</em>' containment reference.
	 * @see #getWidth1()
	 * @generated
	 */
	void setWidth1(PQ value);

	/**
	 * Returns the value of the '<em><b>High2</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * <!-- begin-model-doc -->
	 * 
	 *                            The high limit of the interval.
	 *                         
	 * <!-- end-model-doc -->
	 * @return the value of the '<em>High2</em>' containment reference.
	 * @see #setHigh2(IVXBTS)
	 * @see org.hl7.v3.V3Package#getIVLTS_High2()
	 * @model containment="true"
	 *        extendedMetaData="kind='element' name='high' namespace='##targetNamespace'"
	 * @generated
	 */
	IVXBTS getHigh2();

	/**
	 * Sets the value of the '{@link org.hl7.v3.IVLTS#getHigh2 <em>High2</em>}' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>High2</em>' containment reference.
	 * @see #getHigh2()
	 * @generated
	 */
	void setHigh2(IVXBTS value);

	/**
	 * Returns the value of the '<em><b>Center</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * <!-- begin-model-doc -->
	 * 
	 *                            The arithmetic mean of the interval (low plus high
	 *                            divided by 2). The purpose of distinguishing the center
	 *                            as a semantic property is for conversions of intervals
	 *                            from and to point values.
	 *                         
	 * <!-- end-model-doc -->
	 * @return the value of the '<em>Center</em>' containment reference.
	 * @see #setCenter(TS1)
	 * @see org.hl7.v3.V3Package#getIVLTS_Center()
	 * @model containment="true"
	 *        extendedMetaData="kind='element' name='center' namespace='##targetNamespace'"
	 * @generated
	 */
	TS1 getCenter();

	/**
	 * Sets the value of the '{@link org.hl7.v3.IVLTS#getCenter <em>Center</em>}' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Center</em>' containment reference.
	 * @see #getCenter()
	 * @generated
	 */
	void setCenter(TS1 value);

	/**
	 * Returns the value of the '<em><b>Width2</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * <!-- begin-model-doc -->
	 * 
	 *                            The difference between high and low boundary. The
	 *                            purpose of distinguishing a width property is to
	 *                            handle all cases of incomplete information
	 *                            symmetrically. In any interval representation only
	 *                            two of the three properties high, low, and width need
	 *                            to be stated and the third can be derived.
	 *                         
	 * <!-- end-model-doc -->
	 * @return the value of the '<em>Width2</em>' containment reference.
	 * @see #setWidth2(PQ)
	 * @see org.hl7.v3.V3Package#getIVLTS_Width2()
	 * @model containment="true"
	 *        extendedMetaData="kind='element' name='width' namespace='##targetNamespace'"
	 * @generated
	 */
	PQ getWidth2();

	/**
	 * Sets the value of the '{@link org.hl7.v3.IVLTS#getWidth2 <em>Width2</em>}' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Width2</em>' containment reference.
	 * @see #getWidth2()
	 * @generated
	 */
	void setWidth2(PQ value);

} // IVLTS
